<?php

namespace Wbi\Bundle\SocialBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Wbi\Bundle\SocialBundle\Entity\Users
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Wbi\Bundle\SocialBundle\Entity\UsersRepository")
 */
class Users
{

    /**
   * @ORM\OneToMany(targetEntity="Wbi\Bundle\SocialBundle\Entity\Comments", mappedBy="users")
   */
  private $comments; 



    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="bigint", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $userLogin
     *
     * @ORM\Column(name="user_login", type="string", length=60, nullable=false)
     */
    private $userLogin;

    /**
     * @var string $userPass
     *
     * @ORM\Column(name="user_pass", type="string", length=64, nullable=false)
     */
    private $userPass;

    /**
     * @var string $userNicename
     *
     * @ORM\Column(name="user_nicename", type="string", length=50, nullable=false)
     */
    private $userNicename;

    /**
     * @var string $userEmail
     *
     * @ORM\Column(name="user_email", type="string", length=100, nullable=false)
     */
    private $userEmail;

    /**
     * @var string $userUrl
     *
     * @ORM\Column(name="user_url", type="string", length=100, nullable=false)
     */
    private $userUrl;

    /**
     * @var \DateTime $userRegistered
     *
     * @ORM\Column(name="user_registered", type="datetime", nullable=false)
     */
    private $userRegistered;

    /**
     * @var string $userActivationKey
     *
     * @ORM\Column(name="user_activation_key", type="string", length=60, nullable=false)
     */
    private $userActivationKey;

    /**
     * @var integer $userStatus
     *
     * @ORM\Column(name="user_status", type="integer", nullable=false)
     */
    private $userStatus;

    /**
     * @var string $displayName
     *
     * @ORM\Column(name="display_name", type="string", length=250, nullable=false)
     */
    private $displayName;



    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set userLogin
     *
     * @param string $userLogin
     * @return Users
     */
    public function setUserLogin($userLogin)
    {
        $this->userLogin = $userLogin;
    
        return $this;
    }

    /**
     * Get userLogin
     *
     * @return string 
     */
    public function getUserLogin()
    {
        return $this->userLogin;
    }

    /**
     * Set userPass
     *
     * @param string $userPass
     * @return Users
     */
    public function setUserPass($userPass)
    {
        $this->userPass = $userPass;
    
        return $this;
    }

    /**
     * Get userPass
     *
     * @return string 
     */
    public function getUserPass()
    {
        return $this->userPass;
    }

    /**
     * Set userNicename
     *
     * @param string $userNicename
     * @return Users
     */
    public function setUserNicename($userNicename)
    {
        $this->userNicename = $userNicename;
    
        return $this;
    }

    /**
     * Get userNicename
     *
     * @return string 
     */
    public function getUserNicename()
    {
        return $this->userNicename;
    }

    /**
     * Set userEmail
     *
     * @param string $userEmail
     * @return Users
     */
    public function setUserEmail($userEmail)
    {
        $this->userEmail = $userEmail;
    
        return $this;
    }

    /**
     * Get userEmail
     *
     * @return string 
     */
    public function getUserEmail()
    {
        return $this->userEmail;
    }

    /**
     * Set userUrl
     *
     * @param string $userUrl
     * @return Users
     */
    public function setUserUrl($userUrl)
    {
        $this->userUrl = $userUrl;
    
        return $this;
    }

    /**
     * Get userUrl
     *
     * @return string 
     */
    public function getUserUrl()
    {
        return $this->userUrl;
    }

    /**
     * Set userRegistered
     *
     * @param \DateTime $userRegistered
     * @return Users
     */
    public function setUserRegistered($userRegistered)
    {
        $this->userRegistered = $userRegistered;
    
        return $this;
    }

    /**
     * Get userRegistered
     *
     * @return \DateTime 
     */
    public function getUserRegistered()
    {
        return $this->userRegistered;
    }

    /**
     * Set userActivationKey
     *
     * @param string $userActivationKey
     * @return Users
     */
    public function setUserActivationKey($userActivationKey)
    {
        $this->userActivationKey = $userActivationKey;
    
        return $this;
    }

    /**
     * Get userActivationKey
     *
     * @return string 
     */
    public function getUserActivationKey()
    {
        return $this->userActivationKey;
    }

    /**
     * Set userStatus
     *
     * @param integer $userStatus
     * @return Users
     */
    public function setUserStatus($userStatus)
    {
        $this->userStatus = $userStatus;
    
        return $this;
    }

    /**
     * Get userStatus
     *
     * @return integer 
     */
    public function getUserStatus()
    {
        return $this->userStatus;
    }

    /**
     * Set displayName
     *
     * @param string $displayName
     * @return Users
     */
    public function setDisplayName($displayName)
    {
        $this->displayName = $displayName;
    
        return $this;
    }

    /**
     * Get displayName
     *
     * @return string 
     */
    public function getDisplayName()
    {
        return $this->displayName;
    }
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->comments = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    /**
     * Add comments
     *
     * @param Wbi\Bundle\SocialBundle\Entity\Comments $comments
     * @return Users
     */
    public function addComment(\Wbi\Bundle\SocialBundle\Entity\Comments $comments)
    {
        $this->comments[] = $comments;
        $comments->setUsers($this);
        return $this;
    }

    /**
     * Remove comments
     *
     * @param Wbi\Bundle\SocialBundle\Entity\Comments $comments
     */
    public function removeComment(\Wbi\Bundle\SocialBundle\Entity\Comments $comments)
    {
        $this->comments->removeElement($comments);
         $comments->setUsers(null);
    }

    /**
     * Get comments
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getComments()
    {
        return $this->comments;
    }
}